diff --git a/common/serial.c b/common/serial.c
index 5129837..65d9e84 100644
--- a/common/serial.c
+++ b/common/serial.c
@@ -70,6 +70,7 @@
 serial_initfunc(ml2_serial_initialize);
 serial_initfunc(sconsole_serial_initialize);
 serial_initfunc(p3mx_serial_initialize);
+serial_initfunc(altera_jtag_serial_initialize);
 
 void serial_register(struct serial_device *dev)
 {
@@ -118,6 +119,7 @@
 	ml2_serial_initialize();
 	sconsole_serial_initialize();
 	p3mx_serial_initialize();
+	altera_jtag_serial_initialize();
 
 	serial_assign(default_serial_console()->name);
 }
diff --git a/drivers/serial/altera_jtag_uart.c b/drivers/serial/altera_jtag_uart.c
index 2980e4d..8cb4606 100644
--- a/drivers/serial/altera_jtag_uart.c
+++ b/drivers/serial/altera_jtag_uart.c
@@ -25,6 +25,8 @@
 #include <watchdog.h>
 #include <asm/io.h>
 #include <nios2-io.h>
+#include <linux/compiler.h>
+#include <serial.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -33,10 +35,16 @@
  *-----------------------------------------------------------------*/
 static nios_jtag_t *jtag = (nios_jtag_t *)CONFIG_SYS_NIOS_CONSOLE;
 
-void serial_setbrg( void ){ return; }
-int serial_init( void ) { return(0);}
+static void altera_jtag_serial_setbrg(void)
+{
+}
 
-void serial_putc (char c)
+static int altera_jtag_serial_init(void)
+{
+	return 0;
+}
+
+static void altera_jtag_serial_putc(char c)
 {
 	while (1) {
 		unsigned st = readl(&jtag->control);
@@ -51,18 +59,18 @@
 	writel ((unsigned char)c, &jtag->data);
 }
 
-void serial_puts (const char *s)
+static void altera_jtag_serial_puts(const char *s)
 {
 	while (*s != 0)
 		serial_putc (*s++);
 }
 
-int serial_tstc (void)
+static int altera_jtag_serial_tstc(void)
 {
 	return ( readl (&jtag->control) & NIOS_JTAG_RRDY);
 }
 
-int serial_getc (void)
+static int altera_jtag_serial_getc(void)
 {
 	int c;
 	unsigned val;
@@ -76,3 +84,56 @@
 	c = val & 0x0ff;
 	return (c);
 }
+
+#ifdef CONFIG_SERIAL_MULTI
+static struct serial_device altera_jtag_serial_drv = {
+	.name	= "altera_jtag_uart",
+	.start	= altera_jtag_serial_init,
+	.stop	= NULL,
+	.setbrg	= altera_jtag_serial_setbrg,
+	.putc	= altera_jtag_serial_putc,
+	.puts	= altera_jtag_serial_puts,
+	.getc	= altera_jtag_serial_getc,
+	.tstc	= altera_jtag_serial_tstc,
+};
+
+void altera_jtag_serial_initialize(void)
+{
+	serial_register(&altera_jtag_serial_drv);
+}
+
+__weak struct serial_device *default_serial_console(void)
+{
+	return &altera_jtag_serial_drv;
+}
+#else
+int serial_init(void)
+{
+	return altera_jtag_serial_init();
+}
+
+void serial_setbrg(void)
+{
+	altera_jtag_serial_setbrg();
+}
+
+void serial_putc(const char c)
+{
+	altera_jtag_serial_putc(c);
+}
+
+void serial_puts(const char *s)
+{
+	altera_jtag_serial_puts(s);
+}
+
+int serial_getc(void)
+{
+	return altera_jtag_serial_getc();
+}
+
+int serial_tstc(void)
+{
+	return altera_jtag_serial_tstc();
+}
+#endif
